Method and System for SMS Intermediation

ABSTRACT

A system for receiving, at a server with one or more processors, a request for a respective product page from a first client system. The system then sends the respective product page to the first client system for display, wherein the respective product page includes a send SMS message link. The system receives, from the first client system, a first SMS message, wherein the first SMS message is generated by user selection of the send SMS message link. The system transmits the first SMS message to a second client system associated with a seller of the respective product.

CLAIM OF PRIORITY

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 16/552,763, filed Aug. 27, 2019, entitled “Methodand System for SMS Intermediation”, which claims priority to U.S. patentapplication Ser. No. 14/280,515, filed May 16, 2014, entitled “Methodand System for SMS Intermediation”, which claims priority under 35 USC119 or 365 to Indian Application No. 1087/CHE/2014, filed Mar. 3, 2014,the disclosures of which are incorporated in their entirety.

TECHNICAL FIELD

The present application relates to networked commerce systems generallyand specifically to enabling user communication in the networkedcommerce systems.

BACKGROUND

The rise of the computer age has resulted in increased commercialopportunities for people all over the world. One such improvement is thedevelopment of commerce systems and platforms designed to allow users tobuy and sell products and services over the Internet. In this way, muchof the cost associated with selling goods and services is removed andmore people are able to participate meaningfully in the marketplace asboth buyers and sellers.

In order to facilitate a well-functioning marketplace, online commercesystems often allow users to send messages and communicate back andforth. This allows buyers and sellers to ask questions and iron outdetails prior to the conclusion of a commercial interaction. However,many communication methods currently implemented in online commercesystems, such as e-mails or messages internal to the commerce system,are either not very convenient for users who do not want to spend allday monitoring messages at a computer or provide insufficient privacyprotections for both buyers and sellers.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings in which:

FIG. 1 is a network diagram depicting a client-server system, inaccordance with some implementations.

FIG. 2 is a block diagram illustrating a client system in accordancewith some implementations.

FIG. 3 is a block diagram illustrating a server system in accordancewith some implementations.

FIG. 4 depicts a block diagram of an exemplary data structure for atransaction database for storing transaction records in accordance withsome implementations.

FIG. 5 is a block diagram illustrating an SMS mediation system inaccordance with some implementations.

FIG. 6 illustrates an exemplary user interface for a product page of anetworked commerce web site.

FIG. 7 illustrates an exemplary user interface for a messaging userinterface screen for a networked commerce website.

FIG. 8 is a flow diagram illustrating a method for transmitting SMSmessages between users of a networked commerce site in accordance withsome implementations.

FIG. 9 is a flow diagram illustrating a process for transmitting SMSmessages between users of a networked commerce site in accordance withsome implementations.

FIG. 10 is a flow diagram illustrating a process for transmitting SMSmessages between users of a networked commerce site in accordance withsome implementations.

Like reference numerals refer to corresponding parts throughout thedrawings.

DETAILED DESCRIPTION

Example methods and systems for transmitting user messages through ashort message service (SMS) protocol are described. In the followingdescription, for purposes of explanation, numerous specific details areset forth in order to provide a thorough understanding of exampleimplementations. It will be evident, however, to one skilled in the artthat the various implementations may be practiced without these specificdetails.

Online commerce systems rely on providing the best, most flexible, andconvenient user experience. One way to increase flexibility andconvenience while still maintaining privacy is to allow users to sendSMS messages to each other. Allowing SMS messages between users enablesusers to follow and control their selling and buying opportunities evenwhen they don't have access to a web browser or email client. This isespecially important in developing markets where SMS messaging is adominant form of communication.

Furthermore, online commerce systems derive revenue when commercialinteractions are conducted through their systems (e.g., a commercesystem charges a fee or a percentage of a sale as payment for use of thesystem). By acting as an intermediary, the commerce system ensures thatusers do not directly contact each other to avoid paying the system fee.Thus, it is important to avoid grey-market activity, wherein usersemploy the commerce system to arrange a transaction (using resources ofthe system) and then actually perform the transaction outside of thesystem. The commerce system then pays the cost to arrange thetransaction but does not receive any benefit when the transactionactually occurs.

In some implementations a user (e.g., prospective buyer) requests a webpage related for a product (e.g., product page) on a networked commercesystem. The networked commerce system then responds by sending therequested product page to the requesting user. The networked commercesystem has a pool of available SMS numbers to use for SMSintermediation. However, because each number can only be assigned to onetransaction at a time, the networked commerce system first determineswhether there are currently any SMS numbers available in the pool. If atleast one SMS number is available, the networked commerce system thenincludes an SMS message link in the product page and sends it to therequesting user for display. If no SMS numbers are available, no SMSmessage link will be included in the product page.

The networked commerce system sends the product page to the buyer'ssystem for display. If the buyer has questions for the seller, the buyercan elect to send a question to the seller. The buyer can select the“send SMS message” link to send an SMS message to the networked commercesystem. The SMS message will contain the text of the message as well asthe intended recipient. The networked commerce system then receives theSMS message (a first SMS message in this transaction). In response, thenetworked commerce system creates a transaction record. A transactionrecord stores the Buyer ID, the Seller ID, and a transaction ID. Thenetworked commerce system will then assign an available SMS number tothe transaction record.

In some implementations, the networked commerce system transmits thefirst SMS message to the seller (e.g., a second client system). The SMSmessage will list the allocated SMS number as the source of the SMSmessage. In this way, the actual SMS number of the buyer is concealedfrom the seller. The buyer will likely appreciate this additionalprivacy. The commerce system also benefits by avoiding grey marketactivity (users that avoid fees through direct communication andtransactions). The buyer also submits his or her own SMS number to thenetworked commerce system so that any responses can be sent as an SMSmessage. In some implementations the SMS message can also besimultaneously sent to the seller as an email or other message type.

In some implementations the seller responds to the SMS message with afollow up SMS message of his or her own. The SMS message is sent to theSMS number allocated by the networked commerce system and thus isreceived at the networked commerce system. The networked commerce systemusers the SMS number to identify the associated transaction record andforwards the response SMS message to the user, either as an SMS message,an email, or any other communication method. In this way a buyer andseller can use SMS messages to communicate back and forth withoutexposing their personal contact information to each other.

FIG. 1 is a block diagram illustrating a client-server system 100 thatincludes one or more client systems (e.g., 102-1, 102-2, and 102-3), aserver system 120, and one or more SMS providers 150. One or morecommunications networks 110 interconnect these components. Thecommunications network 110 may be any of a variety of networks,including local area networks (LAN), wide area networks (WAN), wirelessnetworks, wired networks, the Internet, personal area networks (PAN) ora combination of such networks.

In some implementations, a first client system 102-1 includes one ormore client applications 104, which are executed by the client system102-1. The client application(s) 104 includes one or more applicationsfrom the set consisting of search applications, communicationapplications, productivity applications, game applications, wordprocessing applications, or any other useful applications. The clientapplication(s) 104 includes a web browser 106. The first client system102-1 uses the web browser 106 to communicate with the server system 120and display information received from the server system 120.

The first client system 102-1 sends a request to the server system 120for a particular product page (e.g., a web page that lists the detailsof a product for sale through the server system 120). For example, auser of the first client system 102-1 is interested in purchasing atelevision. After searching for appropriate television product pages,the user selects a particular product and the first client system 102-1sends a request for the selected product page. The first client system102-1 then receives the requested product page from the server system120. The requested product page includes details related to the productfor sale, including, but not limited to, a picture of the product, theproduct specifications, the current price, a buy-it-now price, theseller ID, the seller reputation score, and a message link that allowsthe buyer to send the seller a question. The message link allows thesender to choose one or more server communication methods, including butnot limited to an e-mail, an internal message through the server system120, an SMS message, or a combination of these messaging methods (e.g.,both an email and an SMS message).

In accordance with some implementations, once the requested product pagehas been displayed, the user associated with the first client system102-1 selects the option to send a message to the seller. The productpage may also include a text entry area that allows the user of thefirst client system 102-1 to enter a message (e.g., question for theseller) without having to load a separate web page. Thus, the userenters the message text and then selects a send message button and themessage is automatically sent without having to use another web page toprompt the user for message text. In some implementations, the user alsoselects the message delivery method and enters the messagesimultaneously.

In some implementations, the second client system 102-2 is an electronicdevice such as a cell phone, a smartphone, a tablet computer, a laptop,a personal computer, or other electronic device. In someimplementations, the second client system 102-2 includes a SMScommunication module 108-1 for receiving and sending short messagingservice (SMS) messages over a communication network 110. The SMScommunication module 108-1 receives an SMS message over a communicationnetwork 110 from the server system 120. The SMS message includes atleast the product ID number, the buyer ID, the text of the message, thesender SMS number (e.g., a number associated with the sender), and therecipient SMS number (e.g., the number assigned to the second clientsystem).

In some implementations, a user associated with the second client system102-2 (e.g., the seller) chooses to respond to the received SMS message.The second client system 102-2 uses the SMS communication module 108-1to transmit the response message to the server system 120. The responseis then delivered to the original sender (e.g., in this case theprospective buyer) as an email, an SMS message, an internal messagethrough the server system 120, or any other communication method.

The server system 120 includes an API server (Programmatic Interface)122, a web server (Web Interface) 124, an application server 130, adatabase server 140, and a database 142. The application server 130includes one or more application(s) 132, a commerce application 134, anda messaging application 136.

The Application Program Interface (API) 122 and the web server 124 arecoupled to, and provide programmatic and web interfaces respectively to,one or more application servers 130. For example, the applicationservers 130 host one or more applications 132. The application servers130 are, in turn, shown to be coupled to one or more databases servers140 that facilitate access to one or more databases 142. In someimplementations, the application server 130 hosts one or moreapplications 132. The one or more applications 132 include at least acommerce application 134 and a messaging application 136.

In some implementations, the commerce application 134 allows a pluralityof users (e.g., buyers and sellers) to conduct commercial transactionswith each other and the server system 120 via the communication network110. In some implementations, the commerce application 134 is an onlineauction application. In some implementations, the messaging application136 allows users of the server system 120 to communicate with eachother, either directly through the server system's 120 internalmessaging system (e.g., messages from one user account to another useraccount), through e-mails to e-mail addresses associated with the users,or through an SMS messaging protocol.

In some implementations, the database server 140 facilitatescommunication between the application server 130 and the database 142.The database 142 stores information needed by the applications 132stored on the application server 130. For example, the database 142stores product information, user IDs, user contact information, and userratings.

While FIG. 1 shows a client-server architecture, other architecturescould implement the herein disclosed implementations such as adistributed, or peer-to-peer, architecture system, for example. Thevarious applications 132 could also be implemented as standalonesoftware programs, which do not necessarily have networkingcapabilities.

The web browser 106 accesses the various applications 132 via the webinterface supported by the web server 124. In some implementations, oneor more SMS provider(s) 150 are connected to the communication network110. The one or more SMS providers 150 allocate SMS numbers, as needed,to the server system 120, the second client system 102-2 and thirdclient system 102-3. The SMS providers 150 receive SMS messages andtransfer them to their intended recipients, based on data stored at theSMS providers 150.

FIG. 2 is a block diagram illustrating a client system 102 in accordancewith some implementations. The client system 102 typically includes oneor more processing units (CPUs) 202, one or more network interfaces 210,memory 212, and one or more communication buses 214 for interconnectingthese components. The client system 102 includes a user interface 204.The user interface 204 includes a display device 206 and optionallyincludes an input means such as a keyboard, mouse, a touch sensitivedisplay, or other input buttons 208. Furthermore, some client systemsuse a microphone and voice recognition to supplement or replace thekeyboard.

Memory 212 includes high-speed random access memory, such as DRAM, SRAM,DDR RAM or other random access solid state memory devices; and mayinclude non-volatile memory, such as one or more magnetic disk storagedevices, optical disk storage devices, flash memory devices, or othernon-volatile solid state storage devices. Memory 212 may optionallyinclude one or more storage devices remotely located from the CPU(s)202. Memory 212, or alternately the non-volatile memory device(s) withinmemory 212, comprises a non-transitory computer readable storage medium.

In some implementations, memory 212 or the computer readable storagemedium of memory 212 stores the following programs, modules and datastructures, or a subset thereof:

-   -   an operating system 216 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module 218 that is used for connecting        the client system 102 to other computers via the one or more        communication network interfaces 210 (wired or wireless) and one        or more communication networks (e.g., communication network 110        of FIG. 1), such as the Internet, other wide area networks,        local area networks, metropolitan area networks, etc.;    -   a display module 220 for enabling the information generated by        the operating system 216 and client applications 104 to be        presented visually on the display device 206;    -   one or more client applications 104 for handling various aspects        of interacting with the server system 120, including but not        limited to:        -   a browser application 224 for requesting information from            the server system 120 of FIG. 1 (e.g., product pages and            user information) and receiving the response from the server            system 120; and        -   an SMS communication module 226 for sending and receiving            SMS messages from the server system (FIG. 1, 120) via the            one or more SMS service providers (FIG. 1, 150); and    -   a client data module 230 for storing data relevant to the        clients, including but not limited to:        -   a client device SMS number 232 (e.g., the SMS number            associated with the client device); and        -   client profile data 234 that includes data about the client.

FIG. 3 is a block diagram illustrating a server system (FIG. 1, 120).The server system (FIG. 1, 120) typically includes one or moreprocessing units (CPUs) 302, one or more network interfaces 310, memory312, and one or more communication buses 308 for interconnecting thesecomponents. Memory 312 includes high-speed random access memory, such asDRAM, SRAM, DDR RAM or other random access solid state memory devices;and may include non-volatile memory, such as one or more magnetic diskstorage devices, optical disk storage devices, flash memory devices, orother non-volatile solid state storage devices. Memory 312 mayoptionally include one or more storage devices remotely located from theCPU(s) 302.

Memory 312, or alternately the non-volatile memory device(s) withinmemory 312, comprises a non-transitory computer readable storage medium.In some implementations, memory 312 or the computer readable storagemedium of memory 312 stores the following programs, modules and datastructures, or a subset thereof:

-   -   an operating system 314 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module 316 that is used for connecting        the server system 120 to other computers via the one or more        communication network interfaces 310 (wired or wireless) and one        or more communication networks, such as the Internet, other wide        area networks, local area networks, metropolitan area networks,        and so on;    -   one or more server application modules 132 for performing the        services offered by server system 120, including but not limited        to:        -   a communication module 320 for relaying messages between            users of the server system 120;        -   a composition module 322 for creating web pages to be sent            to a client system based on user requests;        -   an SMS mapping module 508 for retrieving an SMS number based            on a transaction record ID and retrieving a transaction            record based on an SMS number; and        -   a commerce module 326 for processing commercial            transactions;    -   server data modules 334, holding data related to the server        system 120, including but not limited to:        -   member profile data 336 including data concerning user            demographic information, user interests, products for sale,            previous purchases, user location data (e.g., based on GPS            data), and any other relevant user data;        -   transaction data 338 including a plurality of transaction            records; and        -   message data 340 including the text of messages sent between            current users of the server system 120.

FIG. 4 depicts a block diagram of an exemplary data structure for atransaction database for storing transaction records in accordance withsome implementations. In accordance with some implementations, thetransaction database data structure includes a plurality of transactionrecords 402-1 to 402-P, each of which corresponds to a commercialtransaction occurring (or potentially occurring) on the server system(FIG. 1, 120). For example, when a user (e.g., potential buyer) takes aspecific action with regards to a particular product (e.g., submitting abid, submitting a question for the seller of the particular product,choosing to buy-it-now, submitting a user rating, etc.), the result isthe creation of a transaction record 402. Each transaction record 402-1to 402-P stores the relevant information for each transaction.

In some implementations, a respective transaction record 402 stores aunique transaction ID 404 for the transaction, a transaction SMS number406 (e.g., a number specifically allocated to the respective transactionrecord), a buyer ID 408, a buyer SMS number 410, a seller ID 412, aseller SMS number 414, a product ID 416, a list of one or more messages418, time and date information 420, and price/bid information 424.

In some implementations, the transaction SMS number 406 is an SMS numberspecifically allocated for the transaction associated with thetransaction record 402. The buyer ID 408 is a unique value associatedwith the buyer consistently throughout the entire server system 120. Thebuyer SMS number 410 is an SMS number associated with an electronicdevice (e.g., a mobile phone, a smartphone, a tablet computer, etc.)owned or used by the buyer.

In some implementations, the seller ID 412 is a unique value associatedwith the seller consistently throughout the entire server system 120 toidentify that particular user. The seller SMS number 414 is an SMSnumber associated with an electronic device (e.g., a mobile phone, asmartphone, a tablet computer, etc.) owned or used by the seller. Insome implementations, the product ID 416 is a unique value assigned bythe server system 120 to a unique product.

In some implementations, a transaction record 402 includes a list ofmessages 418 associated with the transaction. In some implementations,there are no messages 418 in the list of messages 418. In otherimplementations, the list of messages 418 has one or more messages 418.Each message record (422-1-422-Q) includes, but is not limited to, alisting of the sender, the recipient, the text of the message 418, andthe time the message 418 was sent.

In some implementations, a transaction record 402 includes the time anddate information 420 associated with the transaction, including, but notlimited to, the time when the transaction record 402 was created, thetimes associated with any bids submitted by the user, and an ending timeat which point the product associated with the product ID 416 will nolonger be available. In some implementations, a transaction record 402includes price and bid information 424. The price and bid information424 includes, but is not limited to, the current price of the productassociated with the product ID 416, a list of bids previously submittedfor the product associated with the product ID 416, and a buy-it-nowprice.

FIG. 5 is a block diagram illustrating a server system (FIG. 1, 120) inaccordance with some implementations. In some implementations, theserver system 120 includes a system SMS communication interface 502, asend module 504, a receive module 506, an SMS mapping module 508, atransaction record database 512, an SMS number pool 510, and an SMSvendor API 514.

In some implementations, the system SMS communication interface 502connects the server system 120 to the communication network (FIG. 1,110) through which SMS messages are received and sent. In otherimplementations, the system SMS communication interface 502 alsocommunicates with the messaging application (FIG. 1, 136) of the serversystem (FIG. 1, 120) to receive outgoing messages from users of theserver system 120. In some implementations, the system SMS communicationinterface 502 determines whether a received message is an incoming SMSmessage from the communication network (FIG. 1, 110) or an outgoingmessage from the messaging application 136 of the server system 120. Insome implementations, the system SMS communication interface 502determines that the received message is an incoming SMS message (e.g.,text message) from the communication network 110, and in response,passes the received message to the receive module 506. For example, thesystem SMS communication interface 502 receives a message from thecommunication network (FIG. 1, 110), determines that it is an incomingtext message, and then immediately transfers the message to the receivemodule 506. In some implementations, the system SMS communicationinterface 502 determines that a message is an incoming SMS message basedon the metadata associated with the message.

In some implementations, the system SMS communication interface 502determines that the received message is an outgoing message from themessaging application 136 of the server system 120. In response todetermining that the received message is an outgoing SMS messagereceived from the messaging application 136 of the server system 120,the system SMS communication interface 502 passes the message to thesend module 504. For example, if a user of the server system 120 selectsthe option to send an SMS message to a second user, the messagingapplication 136 sends the message and the second user's SMS number tothe system SMS communication interface 502. The system SMS communicationinterface 502 then passes the received message to the send module 504.

In some implementations, the receive module 506 receives an incoming SMSmessage from the system SMS communication interface 502. The receivemodule 506 analyses the incoming SMS message to extract the source SMSnumber (e.g., the SMS number associated with the sender of the SMSmessage), the target SMS number (e.g., the SMS number to which themessage was sent), and the text of the message. For example, the receivemodule 506 determines that the SMS message has a source SMS number of408-555-5501, a target SMS number of 408-555-5502, and that the text ofthe message is “The device is slightly larger than a breadbox.”

In some implementations, the receive module 506 determines the user IDof the intended recipient of the SMS message by transmitting theextracted target SMS number to the SMS mapping module 508.

In some implementations, the SMS mapping module 508 receives a targetSMS number from the receive module 506. The SMS mapping module 508 usesthe transaction record database 512 to identify a transaction record IDassociated with the target SMS number. The SMS mapping module 508 usesthe received SMS number to look up the associated transaction record(e.g., transaction record 402 of FIG. 4) in the database 512. Forexample, if the received SMS number is “408-555-5503,” the SMS mappingmodule 508 uses that number to retrieve the associated transactionrecord from the database 512. The retrieved transaction record is thenreturned to the receive module 506.

In some implementations, the receive module 506 receives a transactionrecord from SMS mapping module 508 that matches the received SMS number.The receive module 506 then identifies the user ID of the intendedmessage recipient. In some implementations, the receive module 506identifies the intended message recipient by comparing the source SMSnumber of the received message to both the buyer SMS number and theseller SMS number. If the source SMS number matches the buyer SMSnumber, the receive module 506 determines that the seller is theintended target and vice versa. For example, because SMS messages withina transaction are typically between a specific buyer and a specificseller, if the source is the seller, the receive module 506 candetermine that the intended message recipient is the buyer. Analogously,if the source is the buyer, the receive module 506 determines that theintended message recipient is the seller.

In some implementations, once the receive module 506 has determined theintended recipient, the receive module 506 transmits the receivedmessage text and the user ID of the intended recipient to the system SMScommunication interface 502. The system SMS communication interface 502then transmits the message to the user associated with the user ID ofthe intended recipient. In some implementations, the message istransmitted as an SMS message. In other implementations, the message istransmitted as an email or an internal message on the server system 120.In yet other implementations, the message is transmitted through morethan one message medium (e.g., both as an SMS message and an e-mailmessage). In some implementations, the SMS message is sent via the SMSvendor API 514.

In some implementations, the send module 504 receives an outgoingmessage from the system SMS communication interface 502. The send module504 then determines the whether the outgoing message has an associatedtransaction record. If the outgoing message does not have an associatedtransaction record, the server system 120 creates a transaction record.The transaction record number is sent to the SMS mapping module 508 todetermine an SMS number to use as a source number for the outgoing textmessage.

The SMS mapping module 508 receives a transaction ID (e.g., transactionID 404 of FIG. 4) from the send module 504. The SMS mapping module 508uses the received transaction ID to retrieve a transaction record fromthe database 512. The SMS mapping module 508 determines whether theretrieved transaction record has an associated transaction SMS number(e.g., transaction SMS number 406 of FIG. 4). In accordance with adetermination that the retrieved transaction record has an associatedtransaction SMS number, the SMS mapping module 508 returns theassociated transaction SMS number to the send module 504. In accordancewith a determination that the retrieved transaction record does not havean associated transaction SMS number, the SMS mapping module 508requests an available SMS number from the SMS number pool 510. Once anavailable number has been allocated to the retrieved transaction record,the allocated number is returned to the send module 504.

The send module 504 uses the allocated SMS number to send the outgoingmessage as an SMS text message. In some implementations, the send module504 transmits the outgoing message text to the SMS vendor API 514 alongwith the allocated SMS number and the SMS number of the intendedrecipient. The allocated SMS number is used as the source number for thetransmitted SMS message (e.g., the message lists the allocated SMSnumber as the source of the SMS message and any replies will be sent tothe allocated SMS number). In this way the server system 120 is able toact as an intermediary between a buyer and seller, allowing both tocommunicate while keeping their actual SMS numbers hidden from eachother. For example, buyer A and seller B are involved in transaction Cfor product D. Buyer A wants to send an SMS message to seller B, butwithout revealing his/her actual SMS number. Buyer A selects the “Sendan SMS message” button on a product page. The server system 120 createsa transaction record 402 and allocates a transaction SMS number 406 tothe transaction record 402. The server system 120 then transmits themessage from Buyer A to Seller B with the allocated transaction SMSnumber 406 as the source. When Seller B replies, the message is sent tothe allocated transaction SMS number 406, not directly to Buyer A. Theserver system 120 uses the allocated transaction SMS number 406 toidentify the appropriate transaction record 402. The server system 120(e.g., receive module 506) uses the identified transaction record 402 todetermine the SMS number of Buyer A and then transmits the reply toBuyer A, still using the allocated transaction SMS number 406 as thesource. Thus both Buyer A and Seller B only see the allocatedtransaction SMS number 406 as the source of the messages; their true SMSnumbers are hidden. This allows a degree of anonymity to the users of aweb commerce site, while still allowing the speed and convenience of SMSmessages.

FIG. 6 illustrates an exemplary user interface 600 for a product page ofa networked commerce web site. In this example the user interface 600includes a title bar 602 that displays the name of the website. Belowthe website title bar 602 is the product name 604 and one or moreproduct images 612. Both the product name 604 and the product image 612serve to help identify the product being sold on the product page. Theuser interface 600 also includes a current price area 606 of theproduct. During an auction, the current price of the product is updatedas the bids increase and displayed in the current price area 606. If thesale is not an auction, the current price area 606 displays the cost ofthe item (e.g., generally stays constant except in the case of a sale).The product page also includes a bid text entry box 608. A user enters abid price in the bid text entry box 608 and clicks on the place bidbutton 610.

The product page user interface 600 includes a product details area 614.The product details area 614 lists one or more details of the product.For example, if the product is a toaster, the product details area 614of the product page lists the size of the toaster, the number of piecesof toast it can toast at a time, the maximum temperature, and any otherinformation relevant to the toaster. The product page also includes aseller details area 616. The seller details area 616 lists details ofthe seller including the seller's ID, the seller's reputation score, anassociated homepage, and any other information associated with theseller.

At the bottom of the product page are several messaging buttons. A usercan click on the email question button 618 to send the seller a questionvia email. Similarly, the SMS message button 620 allows a user to send aquestion as an SMS message to the seller. The internal messaging button622 allows a user to send a question to the seller via an internalmessage (e.g., a message that is delivered to the seller through theserver system 120). In some implementations, clicking on any of thethree buttons 618, 620, 622 will result in display of a messaginginterface with the messaging method selected.

FIG. 7 illustrates an exemplary user interface 700 for a messaging userinterface screen for a networked commerce website. In this example theuser interface 700 includes a title bar 602 that displays the name ofthe website. Below the website title bar 602 is the product name 604 andone or more product images 612. Both the product name 604 and theproduct image 612 serve to help identify the product being sold. Theuser interface 700 further includes a current price area 702 thatdisplays the current price (e.g., current bid) of the product. The userinterface 700 also includes a remaining time area 704 that lists theamount of time remaining on the auction for the product.

Furthermore, the user interface 700 includes a seller ID area 706 thatlists the user name of the seller. For example, the seller ID isdisplayed as the salutation in a message (e.g., Dear [seller ID 706]).Below the seller ID area 706 is the message text entry area 708. Thebuyer can enter the desired text in the message text entry area 708 andthen click the send message button 710. The user interface 700 alsoincludes a “send a copy of message by email” check box 712 and a “send acopy of message by SMS” check box 714. When a user has selected one ofthe boxes 712, 714, the server system (FIG. 1, 120) system will send acopy of the message based on which check box 712, 714 was selected. Auser can also select both boxes 712, 714 and send two copies of themessage via two different transmission mediums.

FIG. 8 is a flow diagram illustrating a method for transmitting SMSmessages between users of a networked commerce site in accordance withsome implementations. Each of the operations shown in FIG. 8 maycorrespond to instructions stored in a computer memory or computerreadable storage medium. Optional operations are indicated by dashedlines (e.g., boxes with dashed-line borders). In some implementations,the method described in FIG. 8 is performed by the social network serversystem 120 illustrated in FIG. 1.

In some implementations the method is performed at a computer systemincluding one or more processors and memory storing one or more programsfor execution by the one or more processors, wherein the computer systemhosts a networked commerce system. In some implementations the networkedcommerce system is an online auction system. For example, the networkedcommerce system is a commercial online auction system such as EBay.

In some implementations the server system (e.g., server system 120)receives (802), a request for a respective product page from a firstclient system. Each product page in the networked commerce system has anassociated seller. The seller can be an individual user of the serversystem, a small business, a corporation, or other entity.

In some implementations the server system (FIG. 1, 120) determines (804)whether at least one SMS number is available for use. The server systemincludes a pool of one or more available SMS numbers. However, this poolis limited to SMS numbers allocated from an SMS provider to the serversystem (FIG. 1, 120). Once all the SMS numbers have been allocated atany given time, no more SMS numbers can be allocated until one of theallocated SMS numbers has been checked back into the pool of availableSMS numbers.

In accordance with a determination that no SMS numbers are currentlyavailable for use, the server system (FIG. 1, 120) transmits (806) therequested product page without an included SMS message link. Thus, whenthe web page is displayed to the buyer, there is no displayed option tosend an SMS message. In accordance with a determination that at leastone SMS number is available for use, the server system (FIG. 1, 120)includes (808) an SMS message link in the requested product page.

The server system (FIG. 1, 120) sends (810) the respective product pageto the first client system for display, wherein the respective productpage includes a send SMS message link. Selection of a send SMS messagelink enables the buyer to send an SMS message to the seller of therespective product.

In some implementations the server system (FIG. 1, 120) receives (812) afirst SMS message from the first client system. The first SMS message isgenerated by user selection of the send SMS message link. For example,when a user clicks on the send SMS message link, a messaging userinterface is displayed and a user can enter an SMS message for theseller. The server system (FIG. 1, 120) then receives the SMS message.

In some implementations the server system (FIG. 1, 120) allocates (814)an SMS number to use when sending the received SMS message to the secondclient system. For example, the server system selects one SMS numberfrom the pool of available SMS numbers. In some implementations,allocating an SMS number includes the server system (FIG. 1, 120)creating (816) a transaction record, wherein each transaction recordlists a buyer ID, a seller ID, and a product ID number. A buyer ID is aunique value that identifies a specific user of the server system.Similarly a seller ID is also a unique value that identifies a specificuser of the server system (FIG. 1, 120). A product ID also identifies aspecific product for sale on the network commerce system.

FIG. 9 is a flow diagram illustrating a process for transmitting SMSmessages between users of a networked commerce site in accordance withsome implementations. Each of the operations shown in FIG. 9 maycorrespond to instructions stored in a computer memory or computerreadable storage medium. Optional operations are indicated by dashedlines (e.g., boxes with dashed-line borders). In some implementations,the method described in FIG. 9 is performed by the server system (FIG.1, 120).

In some implementations the server system (FIG. 1, 120) selects (902),from a list of one or more available SMS numbers, a respective SMSnumber. The server system can select any SMS number from the pool ofavailable SMS numbers. The server system (FIG. 1, 120) then records(904) the respective SMS number in the transaction record.

In some implementations, once a respective SMS number has been allocatedto a particular transaction record, the server system (FIG. 1, 120)removes (906) that respective SMS number from the list of available SMSnumbers until the particular transaction is complete. The allocated SMSnumber is only returned to the available SMS numbers pool when thecurrent transaction is complete (e.g., the auction completes). In someimplementations, the allocated SMS can be released back to the availableSMS number pool after a predetermined amount of time without a new SMSmessage (e.g., more than day without a message).

In some implementations, prior to transmitting the received message tothe second client system, the server system (FIG. 1, 120) receives(908), from the first client system, a buyer SMS number and stores thebuyer SMS number at the server system. Thus, the buyer submits an SMSnumber to the server system so that the system can transmit SMS messagesto the buyer if needed. The server system (FIG. 1, 120) then transmits(910) the first SMS message to a second client system associated with aseller of the respective product. The transmitted SMS message lists theallocated SMS number as the source of the SMS message when it isdelivered to the second client system. In this way the SMS number of thebuyer is not revealed to the seller. In some implementations thetransmitted first SMS message elides the user ID of the user associatedwith the first client.

In some implementations the server system receives (912) a second SMSmessage from the second client system in response to the first SMSmessage, wherein the second SMS message is addressed to the allocatedSMS number. In this way, the second user responds to an SMS numberassociated with the server system (FIG. 1, 120) and the server system(FIG. 1, 120) then forwards the response near instantaneously andautomatically to the buyer. This gives both the seller and the user alevel of privacy and anonymity.

FIG. 10 is a flow diagram illustrating a process for transmitting SMSmessages between users of a networked commerce site in accordance withsome implementations. Each of the operations shown in FIG. 10 maycorrespond to instructions stored in a computer memory or computerreadable storage medium. Optional operations are indicated by dashedlines (e.g., boxes with dashed-line borders). In some implementations,the method described in FIG. 10 is performed by the server system (FIG.1, 120).

The server system (FIG. 1, 120) transmits (1002) the second message tofirst client system or third client system (both of which belong to thefirst user) via a SMS protocol. The second message also lists theallocated SMS number as the source of the text message, thus providingthe second user with some privacy.

In some implementations the server system (FIG. 1, 120) receives (1004)a bid message for the product, from the third client system via SMS, thebid message including a new bid price for the requested product. Thus, abidder can submit a new bid via an SMS message. In some implementationsthe server system (FIG. 1, 120) receives (1006) a buy-it-now messagefrom the second mobile device via the SMS protocol. A buy-it-now messageis a message that agrees to pay a predetermined amount to immediatelyend the auction and purchase the item. These messages can be sent viaSMS messages.

In some implementations, transmitting the first SMS message to thesecond client system includes simultaneously sending an email containingthe received message to a second user associated with the second clientsystem. In some implementations the second client system and/or thethird client system are mobile devices.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific implementations. However, theillustrative discussions above are not intended to be exhaustive or tolimit the possible implementation so the precise forms disclosed. Manymodifications and variations are possible in view of the aboveteachings. The implementations were chosen and described in order tobest explain the principles involved and their practical applications,to thereby enable others skilled in the art to best utilize the variousimplementations with various modifications as are suited to theparticular use contemplated.

It will also be understood that, although the terms “first”, “second,”etc. may be used herein to describe various elements, these elementsshould not be limited by these terms. These terms are only used todistinguish one element from another. For example, a first contact couldbe termed a second contact, and, similarly, a second contact could betermed a first contact, without departing from the scope of the presentimplementations. The first contact and the second contact are bothcontacts, but they are not the same contact.

The terminology used in the description of the implementations herein isfor the purpose of describing particular implementations only and is notintended to be limiting. As used in the description of theimplementations and the appended claims, the singular forms “a,” “an,”and “the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. It will also be understood that theterm “and/or” as used herein refers to and encompasses any and allpossible combinations of one or more of the associated listed items. Itwill be further understood that the terms “comprises” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in response to detecting,” dependingon the context. Similarly, the phrase “if it is determined” or “if (astated condition or event) is detected” may be construed to mean “upondetermining” or “in response to determining” or “upon detecting (thestated condition or event)” or “in response to detecting (the statedcondition or event),” depending on the context.

What is claimed is:
 1. A method of two-way back-and-forth anonymouscommunication, the method comprising: allocating a single number to usewhen communicating as part of the back-and-forth communication between afirst client system of a first party and a second client system of asecond party; transmitting a first communication received from the firstclient system to the second client system using the single number suchthat the first party remains anonymous to the second party; andtransmitting a second communication received from the second clientsystem to the first client system using the single SMS number such thatthe second party remains anonymous to the first party.
 2. The method ofclaim 1, wherein the single number is selected from a pool of availablenumbers.
 3. The method of claim 2, further comprising returning thesingle number to the pool of available numbers.
 4. The method of claim1, wherein the single number comprises a single SMS number.
 5. Themethod as described in claim 1, wherein the first communication isreceived from a personal number of the first client system, and whereinthe personal number of the first client system is not exposed as part ofthe first communication to the second client system.
 6. The method asdescribed in claim 1, wherein the single number is indicated as a sourceof the first communication at the second client system, and wherein thesingle number is indicated as a source of the second communication atthe first client system.
 7. The method as described in claim 1, furthercomprising creating a transaction record including a first ID associatedwith the first party, a second ID associated with the second party, andthe single number.
 8. A system comprising: at least a memory and aprocessor to perform operations comprising: allocating a single numberto use when communicating as part of a back-and-forth communicationbetween a first client system of a first party and a second clientsystem of a second party; transmitting a first communication receivedfrom the first client system to the second client system using thesingle number such that the first party remains anonymous to the secondparty; and transmitting a second communication received from the secondclient system to the first client system using the single SMS numbersuch that the second party remains anonymous to the first party.
 9. Thesystem of claim 8, wherein the single number is selected from a pool ofavailable numbers.
 10. The system of claim 9, wherein the operationsfurther comprise returning the single number to the pool of availablenumbers.
 11. The system of claim 8, wherein the single number comprisesa single SMS number.
 12. The system as described in claim 8, wherein thefirst communication is received from a personal number of the firstclient system, and wherein the personal number of the first clientsystem is not exposed as part of the first communication to the secondclient system.
 13. The system as described in claim 8, wherein thesingle number is indicated as a source of the first communication at thesecond client system, and wherein the single number is indicated as asource of the second communication at the first client system.
 14. Thesystem as described in claim 8, further comprising creating atransaction record including a first ID associated with the first party,a second ID associated with the second party, and the single number. 15.One or more computer-readable storage media comprising instructionsstored thereon that, responsive to execution by one or more processors,perform operations comprising: allocating a single number to use whencommunicating as part of a back-and-forth communication between a firstclient system of a first party and a second client system of a secondparty; transmitting a first communication received from the first clientsystem to the second client system using the single number such that thefirst party remains anonymous to the second party; and transmitting asecond communication received from the second client system to the firstclient system using the single SMS number such that the second partyremains anonymous to the first party.
 16. The one or morecomputer-readable storage media of claim 15, wherein the single numberis selected from a pool of available numbers.
 17. The one or morecomputer-readable storage media of claim 16, wherein the operationsfurther comprise returning the single number to the pool of availablenumbers.
 18. The one or more computer-readable storage media of claim15, wherein the first communication is received from a personal numberof the first client system, and wherein the personal number of the firstclient system is not exposed as part of the first communication to thesecond client system.
 19. The one or more computer-readable storagemedia of claim 15, wherein the single number is indicated as a source ofthe first communication at the second client system, and wherein thesingle number is indicated as a source of the second communication atthe first client system.
 20. The one or more computer-readable storagemedia of claim 15, further comprising creating a transaction recordincluding a first ID associated with the first party, a second IDassociated with the second party, and the single number.